package com.huanmeiqi.demo.server.consumer.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * @author cq.Wang
 * @date 2018/6/12 15:52
 * @description
 */
@Configuration //boot -->spring   applicationContext.xml --- @Configuration配置，ConfigBean = applicationContext.xml
public class ConfigBean {

    @Bean
    @LoadBalanced//Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }

    @Bean
    public IRule getRule() {
//        return new RoundRobinRule();//轮询
//        return new RetryRule();//错误重试轮询
        return new RandomRule();//随机
    }

}
